草庐IT

Python CSV 阅读器和迭代

全部标签

c# - Queue 上的 IEnumerable 迭代器是否应该使项目出列

我创建了一个实现通用IQueue接口(interface)的自定义通用队列,该接口(interface)使用System.Collections.Generic命名空间中的通用队列作为私有(private)内部队列。示例已清除不相关的代码。publicinterfaceIQueue{voidEnqueue(TQueueItemqueueItem);TQueueItemDequeue();}publicclassCustomQueue:IQueue{privatereadonlyQueuequeue=newQueue();...publicvoidEnqueue(TQueueItemqu

c# - 我想知道在迭代数据读取器对象时连接状态和 'yield' 对代码性能的影响

这是我用来从数据库中获取数据的示例代码:在DAO层上:publicIEnumerableGetDATA(ICommonSearchCriteriaDtocommonSearchCriteriaDto){using(DbContext){DbDataReaderreader=DbContext.GetReader("ABC_PACKAGE.GET_DATA",oracleParams.ToArray(),CommandType.StoredProcedure);while(reader.Read()){yieldreturnreader;}}}在BO层我调用上面的方法如下:ListGri

c# - 迭代器 block 和继承

给定一个具有以下接口(interface)的基类:publicclassBase{publicvirtualIEnumerableGetListOfStuff(){yieldreturn"First";yieldreturn"Second";yieldreturn"Third";}}我想创建一个重写方法的派生类,并添加自己的东西,如下所示:publicclassDerived:Base{publicoverrideIEnumerableGetListOfStuff(){foreach(stringsinbase.GetListOfStuff()){yieldreturns;}yield

C# 阅读器关闭时调用 Read 的尝试无效

当我使用C#语言执行3层项目时,我遇到了阅读器关闭时调用读取无效的尝试错误。我想要做的是通过将两个表连接在一起并显示在下拉列表中来检索地址数据列。这是我的数据访问层:publicListgetDistributionAll(){ListdistributionAll=newList();stringaddress;SqlDataReaderdr=FoodBankDB.executeReader("SELECTb.addressLineOneFROMdbo.BeneficiariesbINNERJOINdbo.DistributionsdONd.beneficiary=b.id");wh

c# - 使用 C# 和 .net 3.5 阅读 RSS 的问题

我一直在尝试编写一些例程来使用System.ServiceModel.Syndication中可用的新例程来读取RSS和ATOM提要,但不幸的是,Rss20FeedFormatter在我尝试的大约一半提要上失败了,但出现以下异常:AnerrorwasencounteredwhenparsingaDateTimevalueintheXML.只要RSS提要以下列格式表示发布日期,就会出现这种情况:Thu,16Oct0814:23:26-0700如果feed将发布日期表示为GMT,则一切顺利:Thu,16Oct0821:23:26GMT如果有某种方法可以使用XMLReaderSettings

c# - LINQ 中的 "RemoveAll"怎么可能比迭代快得多?

以下代码:Listintervals=newList();Listpoints=newList();//Initializationofthetwolists//[...]foreach(varpointinpoints){intervals.RemoveAll(x=>x.Intersects(point));}当列表的大小为~10000时,至少比这快100倍:Listintervals=newList();Listpoints=newList();//Initializationofthetwolists//[...]foreach(varpointinpoints){for(int

c# - FileHelpers:如何跳过阅读固定宽度文本的第一行和最后一行

下面的代码用于在ASP.NETMVC2中使用FileHelpers读取固定宽度的上传文件内容文本文件第一行和最后一行的长度较小,ReadStream因此导致异常。所有其他行都有适当的固定宽度。如何无一异常(exception)地跳过首末行或其他方式读取数据?[FixedLengthRecord()]classBank{[FieldFixedLength(4)]publicstringAINETUNNUS;[FieldFixedLength(16)]publicstringTEKST1;[FieldFixedLength(3)]publicstringopliik;[FieldFixed

c# - 使用 emgu cv 迭代图像的像素

我想遍历图像的所有像素并与搜索模式进行比较。具有可能的最佳性能和C#。我找到了emgucv,它是英特尔opencv的包装器。但我不知道如何正确使用emgu。有人知道我该怎么做吗?图像的数据属性是什么?这是图像数据吗?如果是,哪个值是什么?谢谢更新:我用C#编写了我的函数,它运行良好,但速度太慢了!我已经有一个c语言的算法,我将其翻译成C#。C#比c慢3到4倍!(我的函数遍历图像的几乎每个像素以寻找图像中的形状。->Hugh变换)嗯,我听说不安全的代码可能会更快,因为它不检查数组边界和其他东西。真的吗?直接在物理机器上运行不安全代码?无论如何,我试图将不安全的代码放入我的函数中。但是我无

c# - 如何限制 foreach 循环中迭代的元素数量?

我有以下代码foreach(varrssIteminrss.Channel.Items){//...}但只想要6个项目而不是所有项目,我如何在C#中实现? 最佳答案 只需迭代集合中的前6个:foreach(varrssIteminrss.Channel.Items.Take(6)) 关于c#-如何限制foreach循环中迭代的元素数量?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question

c# - 为什么迭代 GetConsumingEnumerable() 没有完全清空底层阻塞集合

我有一个使用任务并行库的可量化和可重复的问题,BlockingCollection,ConcurrentQueue&GetConsumingEnumerable在尝试创建一个简单的管道时。简而言之,将条目添加到默认BlockingCollection(在引擎盖下依赖于ConcurrentQueue)来自一个线程,不保证它们会从BlockingCollection中弹出。来自另一个调用GetConsumingEnumerable()的线程方法。我创建了一个非常简单的Winforms应用程序来重现/模拟它,它只将整数打印到屏幕上。Timer1负责排队工作项......它使用一个名为_tra